#ifndef THREAD_MOVIMIENTO_H_
#define THREAD_MOVIMIENTO_H_

#include "..\common\escenario.h"
#include "..\common\figuras\pad.h"
#include "..\common\figuras\tejo.h"
#include "..\common\thread.h"
#include "..\common\jugador.h"
#include "..\common\types.h"
#include "..\common\EnumMovimiento.h"
#include "..\common\codigoServerCliente.h"
#include "colision.h"
#include "juego.h"

//#include "..\common\codigoServerCliente.h"IOException


#define ALTO_ORIGINAL 100
#define VELOCIDAD_ORIGINAL 15
#define RADIO_ORIGINAL 7

class juego;


/* clase que maneja el thread de calculo de movimientos */


class threadMovimiento : public thread {

public:

	threadMovimiento(juego* game);

	void run();

private:

	void enviarActualizacion();

	void procesarBonus(figura* fig,char* Fig_ID,pad& jugador1,pad& jugador2,tejo& Tejo);
	void setToDefault(pad& jugador1,pad& jugador2);

	juego* game;
	
	PosicionPad posPad1, posPad2;
	PosicionTejo posTejo;
	Bonus bonus;
	int altoPad;
	int anchoPad;
	int sizebuffer;
	int quienSaca; // booleno para saber quien saca tejo.AL INICIO SACA EL JUGADOR 1
	punto PuntoTejoSaca1,PuntoTejoSaca2;  // ubicacion de pelota varia de acuerdo al jugador
	float radioTejo;
	float velocidad;
	colision colition;
	punto ubicacionPad1;
	punto ubicacionPad2;
	bool TeclaEspacio;
	int huboPegamento;
	bool salida;
	BonusState bonusActivo;

	pad* jugadorActivo;


};




#endif